iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0
Modern Web

web component - 次世代網頁技術的重要拼圖系列 第 25

web component 的實做- 實做組件庫或大量使用web component的建議

  • 分享至 

  • xImage
  •  

到上一篇為止都是以針對小區域來使用web component,我想這也是大多數可能使用web component技術的人的需求。畢竟,現在前端框架很流行(不限於三大框架),專案或引用的函式庫幾乎都是以框架為前提來設計。

想一下,你可以不用做組件庫

  1. 使用者會用到特定的CSS預處理套件或是CSS套件,比方說SCSS或TailwindCSS,因為和web component八字不合,少量寫幾個組件還沒問題,用來建構組件庫是不可能的工作。
  2. 如果專案有使用到特定的框架,直接使用該框架來建構組件庫還比較快。
  3. 如果只想使用google 的Material Design但又不想使用框架,google正在根據Material Design建構web component的庫,雖然現在還沒有全部完成,但我想很快就能完成了?

想要做web component的組件庫的技術點

CSS複用

因為shadow DOM 對內外的CSS有分隔的效果,在組件內部使用的CSS都要包入Shadow DOM之中,如果建構少量的小型組件還算簡單。如果要做大型組件或組件間共用CSS的話就會很麻煩。

HTML複用

如果是少量使用web component,HTML使用document.createElement建構倒也不會太影響效能(我自己平時就是這樣建構),但如果要建構大型組件,使用innerHTML還是比較方便。但這樣就不方便複用HTML。

javascript複用

相對於HTML和CSS。javascript在複用上會比較簡單一點。現在原生還只能使用extends,想要使用@decorator不是使用typescript就是babel了。但這樣算不算是VanillaJS就看人了。


上一篇
web component 的實做- infinite-scroller
下一篇
web component 組件庫實做建議-CSS篇
系列文
web component - 次世代網頁技術的重要拼圖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言